
/**
 * 导出文件公共行为
 * @param e 事件
 * @param ids id集合
 * @param url 请求路径
 */
export function exportSQLCommon(e, ids, url) {
    // 阻止按钮默认点击行为
    e.preventDefault();
    const xhr = new XMLHttpRequest();
    xhr.open('POST', url);
    xhr.setRequestHeader('Content-Type', 'application/json');
    xhr.onreadystatechange = function() {
        if (xhr.readyState === XMLHttpRequest.DONE) {
            if (xhr.status === 200) {
                // 获取文件名，手动创建连接
                let filename = xhr.getResponseHeader('Content-Disposition').split('filename=')[1];
                filename = decodeURIComponent(decodeURIComponent(filename));
                const blob = new Blob([xhr.response], { type: 'text/plain' });
                const exportLink = document.createElement('a');
                exportLink.href = URL.createObjectURL(blob);
                exportLink.download = filename;
                exportLink.click();
            } else {
                // 导出文件失败
                alert('导出文件失败');
            }
        }
    };
    // 将请求体序列化后作为请求体发送
    xhr.send(JSON.stringify(ids));
}
